package intranet.client;
/**
 * @author Baptiste RENDU
 */
import java.io.Serializable;
import java.util.HashMap;

public class Session implements Serializable{

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private HashMap<String,String> data;
	/**
	 * Objet de stockage d'informations sur l'utilisateur
	 */
	public Session()
	{
		data=new HashMap<String, String>();
	} 
	/**
	 * methode qui renvoie l'ensemble des données
	 * @return un HashMap contenant les données utilisateur
	 */
	public HashMap<String,String> getData()
	{
		return data;
	}
	/**
	 * methode de copie de session
	 * @param la session à copier
	 */
	public void setSession(Session s)
	{
		data=s.getData();
	}
	/**
	 * methode d'ajout d'élement dans la session
	 * @param la clé et la valeur à ajouter
	 */
	public void add(String key,String value)
	{
		data.put(key,value);
	}
	/**
	 * methode d'accès à un élément de la session
	 * @return l'élément demandé
	 * @param la clé correspondant à l'élément demandé
	 */
	public String get(String key)
	{
		return data.get(key);
	}
	/**
	 * methode qui efface totalement la session
	 */
	public void clear()
	{
		data.clear();
	}
	/**
	 * methode pour enlever un élément de la session
	 * @return l'élément supprimé
	 * @param la clé de l'élément à supprimer
	 */
	public String remove(String key)
	{
		return data.remove(key);
	}
	/**
	 * test si la clé existe dans la session courante
	 * @return true si la clé existe, false sinon
	 * @param la clé à tester
	 */
	public boolean contains(String s)
	{
		return data.containsKey(s);
	}
}
